package io.shdxhl.simplerpc.server;

import io.shdxhl.simplerpc.code.registry.SimpleRegistry;
import io.shdxhl.simplerpc.code.netty.RpcServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class SimpleServerRunner {

    /**
     * 完成rpc server 相关内容
     * 1、完成接口服务注册
     *      a.对外暴露接口
     *      b.注册zookeeper
     *      c.数据结构
     * 2、居于netty服务端程序
     *     a.编写解码加密handler
     *     b.编写二次解码，协议解析，数据反系列化
     *     c.
     */

    @Autowired
    private SimpleRegistry simpleRegistry;

    @Autowired
    private RpcServer rpcServer;

    public void run() {

        //接口设计自顶向下

        //服务的ZK注册
        simpleRegistry.serviceRegistry();

        //启动Netty服务器
        rpcServer.start();
    }
}
